In packet switched networks, routing is a process of forwarding logically addressed packets from their source toward their ultimate destination through intermediate nodes (e.g., routers) connected together by communication links. Routing typically directs packet forwarding on the basis of routing tables or forwarding tables. A routing table can tell a node that a particular destination can be reached by sending the packet to a node that represents the “next hop” on the way to the final destination. Forwarding tables are most commonly used by nodes to find the proper node interface through which a packet should be forwarded. In contrast to routing tables, forwarding tables are optimized for fast lookup of node interfaces based on packet destination addresses. This disclosure makes reference to routing packets based on forwarding tables, it being understood the disclosure should not be limited thereto.
Routing schemes differ in their delivery semantics. Unicasting, one of the simplest, involves a packet being relayed from node to node along a chain leading from the packet's source to its destination. Broadcasting requires a packet to be duplicated at nodes with the goal of delivering a copy to every device on the network. In practice, packets are not forwarded everywhere on a network, but only to devices within a broadcast domain, making broadcast a relative term. Less common than broadcasting is multicasting, where a packet is selectively duplicated at nodes and delivered to each of a specific set of recipients. Anycast is a scheme in which packets from a source can be routed to the topologically nearest destination in a group of potential destinations, all identified by the same destination address or range of destination addresses.
Interior Gateway Protocol (IGP) can be used to set up Anycast in a local area network. This process may include advertizing the same destination address or range addresses from endpoints at different places on the local area network. Anycast can be set up globally (e.g., on the Internet) by using Border Gateway Protocol (BGP). In this process the same destination address or range of addresses is advertized from endpoints at different places on the Internet.